Passed
Pull Request — master (#237)
by Daniel
02:04
created

backup-getRegNummer.ts ➔ getRegNummer   A

Complexity

Conditions 4

Size

Total Lines 38
Code Lines 32

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 32
dl 0
loc 38
rs 9.112
c 0
b 0
f 0
cc 4
1
import axios from "axios";
2
import { sanitize } from "isomorphic-dompurify";
3
import { VercelRequest, VercelResponse } from "@vercel/node";
4
import { IStatensVegvesenFullData } from "../scripts/types/typeDefinitions";
5
6
export default async function getRegNummer(
7
  req: VercelRequest,
8
  res: VercelResponse
9
): Promise<void> {
10
  const { regNummer = "" } = req.query;
11
12
  if (regNummer === undefined) {
13
    res.send({ error: "Mangler regNummer parameter" });
14
    return;
15
  }
16
17
  const urlToFetch = `https://www.vegvesen.no/ws/no/vegvesen/kjoretoy/kjoretoyoppslag/v1/kjennemerkeoppslag/kjoretoy/${regNummer}`;
18
19
  try {
20
    const response = await axios.get<IStatensVegvesenFullData>(urlToFetch);
21
22
    if (response.status === 200) {
23
      const {
24
        kjennemerke,
25
        registrering: { forstegangsregistrering, forstegangsregistreringEier },
26
        periodiskKjoretoykontroll: { sistKontrollert },
27
      } = response.data;
28
29
      const sanitizedData = {
30
        kjennemerke: sanitize(kjennemerke),
31
        forstegangsregistreringEier: sanitize(forstegangsregistreringEier),
32
        forstegangsregistrering: sanitize(forstegangsregistrering),
33
        sistKontrollert: sanitize(sistKontrollert),
34
      };
35
36
      res.send(sanitizedData);
37
    } else {
38
      res.send({ error: "Feil under henting av data" });
39
    }
40
  } catch (error) {
41
    console.error(error);
42
    res.send({ error: "Feil under henting av data" });
43
  }
44
}
45